styleproperties: Use peek_property in get_property
authorBenjamin Otte <otte@redhat.com>
Sat, 21 May 2011 15:43:38 +0000 (17:43 +0200)
committerBenjamin Otte <otte@redhat.com>
Sat, 21 May 2011 20:49:43 +0000 (22:49 +0200)
... instead of duplicating the code.

gtk/gtkstyleproperties.c

index 2b7f90d9fe78f55a46a0b7f8eaaea0c3cb7c42c2..f622ca9ee7bb7be57d5b1d135b89d984bb014188 100644 (file)
@@ -857,40 +857,24 @@ gtk_style_properties_get_property (GtkStyleProperties *props,
                                    GtkStateFlags       state,
                                    GValue             *value)
 {
-  GtkStylePropertiesPrivate *priv;
   const GtkStyleProperty *node;
-  PropertyData *prop;
-  GValue *val;
+  const GValue *val;
 
   g_return_val_if_fail (GTK_IS_STYLE_PROPERTIES (props), FALSE);
   g_return_val_if_fail (property != NULL, FALSE);
   g_return_val_if_fail (value != NULL, FALSE);
 
-  node = _gtk_style_property_lookup (property);
+  val = _gtk_style_properties_peek_property (props, property, state, &node);
 
   if (!node)
-    {
-      g_warning ("Style property \"%s\" is not registered", property);
-      return FALSE;
-    }
-
-  priv = props->priv;
-  prop = g_hash_table_lookup (priv->properties, node->pspec);
-
-  if (!prop)
     return FALSE;
 
   g_value_init (value, node->pspec->value_type);
-  val = property_data_match_state (prop, state);
-
-  if (val &&
-      !style_properties_resolve_type (props, node, val))
-    return FALSE;
 
   if (val)
     {
-      g_param_value_validate (node->pspec, val);
       g_value_copy (val, value);
+      g_param_value_validate (node->pspec, value);
     }
   else
     lookup_default_value (node, value);